Embodiments of the present invention relate generally to methods and systems for providing control of a call or other communication session and more particularly to a call control enabler for abstracting underlying network technologies.
Various methods and systems have been established for providing control of a call or other electronic communication session and control of media within that call, such as provided by an Interactive Voice Response (IVR) system for example. Furthermore, different standards and proprietary programming models are being established to support description of call control, description of signaling, and description of dialog systems. For example, call control can be achieved with Parlay X or other high level APIs on legacy networks (with Parlay Gateways) and/or even Call Control eXtensible Markup Language (CCXML) on Session Initiation Protocol (SIP) for example. Call controllers can be realized in SIP (e.g. SIP Servlet container as described in Java Specification Request (JSR) 116), as APIs/interfaces to Parlay Gateways/Service Capability Servers (SCSs) or against other Public Switched Telephone Network (PSTN), Internet (IN) or other legacy network resources (e.g. AXE, Switches, etc.). Signaling may be done in SIP, H323, IN (e.g., Transaction Capabilities Application Part (TCAP), Intelligent Network Application Part (INAP), Customized Applications for Mobile Network Enhanced Logic (CAMEL), Medium Access Control protocol, Signaling System 7 (SS7), Java Telephony Application Program Interface (JTAPI), Telephony Application Program Interface (TAPI), IN, etc. Public Branch exchanges (PBXes) and IP PBXes may also perform call control functions and interface via TAPI, TAPI, etc. or through PBX IP Media Gateway (PIMG). Generally speaking, these call controllers can route an incoming call or media session to another module or processor such as a dialog server to support the session, receive notifications of calls and react by determining how to handle (i.e. how to route), and initiate a call or multimedia session between one or multiple parties.
However, these existing call controllers are limited in that they do not factor out or abstract the underlying network technologies. That is, the existing solutions are either limited to use with only one network technology (e.g. Parlay SCS/GW or SIP only; (IP)PBXes) or do not allow integration with other capabilities (e.g., SIP servlet can't really integrate with SOA or other applications/capabilities today). Hence, there is a need for improved methods and systems for controlling a media session such as a call or other media exchange.